﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Hive.Core
{
    public class EnvEvent
    {
        public EnvEvent(Location at)
        {
            At = at;
        }
        public Location At { get; set; }
    }

    public class EntityRemovedEvent : EnvEvent
    {
        public EntityRemovedEvent(Location at)
            : base(at)
        {

        }
    }

    public class EntityAddedEvent : EnvEvent
    {
        public EntityAddedEvent(Location at)
            : base(at)
        {

        }
    }

    public class MyAntAddedEvent : EntityAddedEvent
    {
        public Ant Ant { get; set; }
        public MyAntAddedEvent(Ant ant)
            : base(ant.Location)
        {
            Ant = ant;
        }
    }

    public class MyAntRemovedEvent: EntityRemovedEvent
    {
        public Ant Ant { get; set; }
        public MyAntRemovedEvent(Ant ant)
            : base(ant.Location)
        {
            Ant = ant;
        }
    }

    public class FoodRemovedEvent : EntityRemovedEvent
    {
        public FoodRemovedEvent(Location at)
            : base(at)
        {

        }

    }

    public class FoodAddedEvent : EntityAddedEvent
    {
        public FoodAddedEvent(Location at)
            : base(at)
        {

        }
    }

}
